1. Field of the Invention
The present invention relates to a technology for receiving data from outside with a plurality of packets in units of communication.
2. Description of the Related Art
Packet communication is becoming a core technique for exchanging data between an information processing apparatus and an external device in a wireless network environment. Typically, a predetermined number of packets are transmitted in bulk by a single packet transmission (hereinafter, referred to as a “unit of communication” as appropriate). The number of packets to be contained in one unit of communication is determined as a burst length, and each of the packets is assigned with a packet number in the order by which data has been broken into the packets. If some packets contained in one unit of communication have not been received, those packets are retransmitted by next packet transmission. In this situation, there is a problem that the retransmitted packets are stored in a memory in a communication controller in order of reception, that is, an order different from an order of packet number.
If the packets stored in the memory are transferred in the order of reception to a main memory in a main controller, the main controller needs to sort the packets into a correct order. Therefore, loads on a main central processing unit (CPU) of the main controller increases (see FIG. 6).
A conventional technology for reducing processing loads during communication control is disclosed in, for example, Japanese Patent Application Laid-open No. 2007-74429. However, the conventional technology is less effective for resolving problems due to packet sorting.
Specifically, if the packets stored in the memory in the communication controller are sorted into a correct order by transferring the packets in several batches in order of packet number, a plurality of times of transfer is necessary (see FIG. 7). Therefore, transfer efficiency degrades. Furthermore, interrupt processing needs to be performed for every transfer, leading to complicated processing procedures. Therefore, loads on the main CPU of the main controller increases.
The above-mentioned problems due to retransmission of packets may be resolved by providing enhanced hardware such as high-end CPUs or high-capacity memories in information processing apparatuses. However, for some types of information processing apparatuses such as copiers or multifunction peripherals (MFPs), enhancement of hardware leads to increase in size and cost. Therefore, the above technique is not always effective for every type of information processing apparatuses.